Enterprises generate and store increasingly vast amounts of data. Techniques used to store these vast amounts of data include data compression, which is a procedure that encodes information using less storage space than the original representation. An example of a data compression technique is data deduplication, which reduces storage needs and network transfer size by eliminating duplicate copies of repeating data. When data compression is implemented, the performance depends on many data compression factors such as the amount of stored data, the types of stored data, the ages of stored data, the compression method used for stored data, the operating systems for the stored data, the software applications for stored data, the hardware that stores the data, the size of the enterprise that stores data, the geographical locations that store data, and the client/server side of compression of stored data. Since an enterprise may use many client devices that store data that is compressed based on many different data compression factors, no single optimized set of data compression factors can serve as a standard that should be implemented by every client device or collection of client devices.
A backup/restore application is one example in which data stored by a client device is de-duplicated. If a software error corrupts a data object, or if erroneous data updates the data object, a data protection administrator may restore the data object to a previous state that does not include the corrupted or erroneous data. A backup/restore application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired data object state (such as the values of data and these values' embedding in a database's data structures) within dedicated backup files. Data deduplication significantly reduces backup time by only storing unique periodic changes, while maintaining full backups for restoration. The transmission of a de-duplicated backup sends only changed data, thereby reducing network traffic. When the data protection administrator decides to return a data object to a previous state, the data protection administrator specifies the desired previous state by identifying a desired point in time when the data object was in this state, and instructs the backup/restore application to execute a restore operation to restore a copy of the corresponding backup files for that state to the data object.
A data object may be stored on a storage array, which is a disk storage system that includes multiple disk drives. Unlike a disk enclosure, a storage array has cache memory and advanced functionality, such as virtualization and Redundant Array of Independent Disks (RAID). A data protection administrator may manage a backup/restore application to create backups files of data objects and store the backup files of data objects on multiple storage arrays.